/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.jkoa.stripes.action;

import able.stripes.JSP;
import com.google.inject.Inject;
import com.jkoa.BaseActionBean;
import com.jkoa.mgr.PekerjaManager;
import com.jkoa.model.Pengalaman;
import com.jkoa.model.Peribadi;
import com.jkoa.stripes.config.AuthRequired;
import java.util.Date;
import java.util.List;
import net.sourceforge.stripes.action.DefaultHandler;
import net.sourceforge.stripes.action.Resolution;
import net.sourceforge.stripes.action.UrlBinding;
import org.apache.commons.lang.StringUtils;

/**
 *
 * @author fikri
 */
@AuthRequired
@UrlBinding("/maklumat_peribadi")
public class MaklumatPeribadiAction extends BaseActionBean{
    
    
    private Peribadi peribadi;
    
    private List<Pengalaman> senaraiPengalaman;
    
    private List<Peribadi> senaraiPemohon;
    
    private String tabSelected = "0";
    
    @Inject PekerjaManager pekerjaManager;
    
    
    
    @DefaultHandler
    public Resolution showMaklumatPeribadiForm() {
        getContext().getRequest().setAttribute("baru", true);
        return new JSP("pemohon/pemohon_tab.jsp");
    }
    
    public Resolution newForm() {
        getContext().getRequest().setAttribute("baru", true);
        return new JSP("pemohon/pemohon_tab.jsp");
    }
    
    public Resolution editForm() {
        String id = getContext().getRequest().getParameter("id");
        if (StringUtils.isNotBlank(id))  {
            peribadi = pekerjaManager.findById(id);
        } else {
            addSimpleError("Maklumat Pemohon tiada!");
        }
        return new JSP("pemohon/pemohon_tab.jsp");
    }
    
    public Resolution editSearchForm() {
        return new JSP("pemohon/carian_pemohon.jsp");
    }
    
    public Resolution search() {
        senaraiPemohon = pekerjaManager.findAll(getContext().getRequest().getParameterMap());
        return new JSP("pemohon/carian_pemohon.jsp");
    }
    
    
    public Resolution savePeribadi() {
        if (peribadi != null) {
            peribadi.setDimasuk(getUserId());
            peribadi.setTrhMasuk(new Date());
            peribadi.setAktif('Y');
            peribadi = pekerjaManager.savePeribadi(peribadi); 
            if (peribadi != null)
                addSimpleMessage("Kemasukan Data Berjaya. Sila isi maklumat akademik dan pengalaman.");
            else
                addSimpleError("Kemasukan Data Gagal");
        }        
        return new JSP("pemohon/pemohon_tab.jsp");
    }
    
    public Resolution addPreviousCompany() {
        return new JSP("pemohon/pemohon_tab.jsp");
    }

    public Peribadi getPeribadi() {
        return peribadi;
    }

    public void setPeribadi(Peribadi peribadi) {
        this.peribadi = peribadi;
    }

    public List<Pengalaman> getSenaraiPengalaman() {
        return senaraiPengalaman;
    }

    public void setSenaraiPengalaman(List<Pengalaman> senaraiPengalaman) {
        this.senaraiPengalaman = senaraiPengalaman;
    }

    public String getTabSelected() {
        return tabSelected;
    }

    public void setTabSelected(String tabSelected) {
        this.tabSelected = tabSelected;
    }

    public List<Peribadi> getSenaraiPemohon() {
        return senaraiPemohon;
    }

    public void setSenaraiPemohon(List<Peribadi> senaraiPemohon) {
        this.senaraiPemohon = senaraiPemohon;
    }
    
}
